Programmable integrated circuits (ICs) are widely used to design and implement electronic systems. A programmable IC may include a number of configurable resources such as configurable logic blocks, configurable input/output blocks, a configurable interconnect structure, memories, multipliers, processors, etc. The configurable resources of a programmable IC may be programmed to implement a wide variety of desired functions. Typically, configuration data stored in configuration memory cells may be used to define a desired function of the programmable IC. Programmable ICs provide greater design flexibility and allow for reconfiguration, which provides the ability to update implemented functions and reduce inventory by allowing a single part to be used in multiple applications.
Digital systems interface with one another using a wide variety of interface standards. Standardization ensures that different implementations of such interfaces interoperate correctly and provide acceptable performance under expected conditions. This allows an end-user to interface one such digital system (e.g., a computer, a digital camcorder or camera, a cellular telephone, a scanner, a television set, etc.) with another digital system with confidence that the digital systems will be able to successfully communicate with one another.
It is desirable for programmable ICs to be configurable to use a number of different interface standards to allow for use in a wide variety of applications. In addition to protocol definition(s), each standard interface has requirements regarding output impedance, termination impedance, data rate, common mode voltages and other such characteristics. For example, differences of impedance between a transmission line and a receiver front-end circuit can adversely cause a portion of a transmitted signal to be reflected and/or voltage to increase in the receiver. To minimize reflections, termination circuits are generally included in a transmitter and/or receiver analog front-end circuits to match impedance of the circuits and transmission medium and minimize signal reflections.
In addition to termination circuitry, analog front-end circuits typically include circuits to protect the system from electro-static discharge (“ESD”). ESD transfers a sudden and momentary electric current to a circuit from an external source. The inrush of current can destroy components, such as field-effect transistors (“FETs”), and damage or destroy the functionality of the I/O circuit. Because an analog front-end circuit has I/O pads that are externally accessible, via a transmission line connected thereto, the front-end circuit is susceptible to damage from ESD. An ESD can be a negative voltage or a positive voltage relative to circuit ground. Conventionally, ESD protection circuits are relatively big in order to handle the discharge current without being damaged. For ICs having a high number of I/O pads, such as field-programmable gate arrays (“FPGAs”), providing ESD protection to all components for I/Os susceptible to ESD damage consumes considerable silicon area.
One or embodiments may address one or more of the above issues.